package com.example.lhh.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;

/**
 * @author luoHongHu
 * @Description 密码加密生成
 * @date 2025年03月30日 16:42
 */
public class LhhSha256Util {

    /**
     * 创建加密密码
     * @param password 盐+明文密码
     * @return
     */
    public static String createPassword(String password) {
        //获取随机生成的盐
        MessageDigest md = null;
        String  passwordHash = "";
        //定义加密的算法的类型  SHA-256
        try {
            md = MessageDigest.getInstance("SHA-256");
            //通过盐和输入的密码进行拼接
            byte[] bytes = md.digest(password.getBytes());
            //加密后的hash密码
            passwordHash = Base64.getEncoder().encodeToString(bytes);
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException(e);
        }
        return passwordHash;
    }

    public static void main(String[] args) {
        String password = createPassword("YNxZ60Tsi20=" + "@a123456");
        System.out.println(password);
    }
}
